Scalar Functions

Database Tutorials - অ্যাপাচি প্রেস্টো (Apache Presto) SQL Functions এবং Operators |
233
233

Presto তে Scalar Functions হলো সেই ফাংশনগুলি যা এক বা একাধিক আর্গুমেন্ট গ্রহণ করে এবং একটি একক মান ফেরত দেয়। এই ফাংশনগুলি সাধারণত ডেটার উপর বিভিন্ন গণনা বা রূপান্তর করতে ব্যবহৃত হয়, যেমন সংখ্যা, তারিখ, স্ট্রিং ইত্যাদি।

Scalar Functions এর মাধ্যমে ডেটার উপর গাণিতিক, স্ট্রিং এবং লজিকাল অপারেশন করা সম্ভব। Presto তে বিল্ট-ইন অনেক scalar function রয়েছে, যেমন abs(), length(), lower(), concat(), round() ইত্যাদি।


Scalar Functions এর ধরন

  1. গণিতিক Functions (Mathematical Functions)
    এই ধরনের ফাংশন গাণিতিক অপারেশন করতে ব্যবহৃত হয়।
    • abs(x): একটি সংখ্যার গাণিতিক মান ফেরত দেয়।

      SELECT abs(-5);
      -- Output: 5
      
    • round(x, d): সংখ্যা x কে d দশমিক স্থান পর্যন্ত রাউন্ড করে।

      SELECT round(3.14159, 2);
      -- Output: 3.14
      
  2. স্ট্রিং Functions (String Functions)
    স্ট্রিংয়ের উপর বিভিন্ন অপারেশন করতে ব্যবহার করা হয়।
    • length(s): স্ট্রিং s এর দৈর্ঘ্য ফেরত দেয়।

      SELECT length('Presto');
      -- Output: 6
      
    • lower(s): স্ট্রিং s কে ছোট হাতের অক্ষরে রূপান্তরিত করে।

      SELECT lower('Presto');
      -- Output: presto
      
    • upper(s): স্ট্রিং s কে বড় হাতের অক্ষরে রূপান্তরিত করে।

      SELECT upper('Presto');
      -- Output: PRESTO
      
  3. তারিখ ও সময় Functions (Date and Time Functions)
    তারিখ এবং সময়ের উপর অপারেশন করতে ব্যবহৃত হয়।
    • current_date: বর্তমান তারিখ ফেরত দেয়।

      SELECT current_date;
      -- Output: 2024-11-27 (এটি বর্তমান তারিখ)
      
    • date_add(unit, value, date): নির্দিষ্ট একক (যেমন দিন, মাস, বছর) এর মাধ্যমে একটি তারিখে যোগ করা হয়।

      SELECT date_add('day', 10, current_date);
      -- Output: 2024-12-07
      
    • date_sub(unit, value, date): নির্দিষ্ট একক এর মাধ্যমে একটি তারিখ থেকে কমানো হয়।

      SELECT date_sub('month', 2, current_date);
      -- Output: 2024-09-27
      
  4. লজিকাল Functions (Logical Functions)
    লজিক্যাল পরীক্ষা বা সিদ্ধান্ত নেওয়ার জন্য ব্যবহৃত হয়।
    • coalesce(a, b, ...): যদি প্রথম আর্গুমেন্ট NULL হয়, তাহলে পরবর্তী আর্গুমেন্টের মান ফেরত দেয়।

      SELECT coalesce(NULL, NULL, 'Presto');
      -- Output: Presto
      
    • if(condition, true_value, false_value): একটি শর্তের উপর ভিত্তি করে দুটি মানের মধ্যে একটি ফেরত দেয়।

      SELECT if(1 > 2, 'True', 'False');
      -- Output: False
      
  5. Aggregate Functions
    যদিও Aggregate Functions মূলত ডেটার গ্রুপিং এবং সংগঠন এর জন্য ব্যবহৃত হয়, তবে এগুলোকেও কিছু ক্ষেত্রে Scalar Functions হিসেবে ব্যবহার করা হতে পারে, যেমন count(), sum(), avg() ইত্যাদি।
    • sum(column): একটি কলামের মোট যোগফল ফেরত দেয়।

      SELECT sum(salary) FROM employees;
      
    • avg(column): একটি কলামের গড় মান ফেরত দেয়।

      SELECT avg(salary) FROM employees;
      

Scalar Functions কিভাবে ব্যবহার করবেন

Presto-তে Scalar Functions ব্যবহার করা অনেক সহজ। আপনি SQL কোয়েরি তে এই ফাংশনগুলি সরাসরি ব্যবহার করতে পারেন। নিচে কিছু উদাহরণ দেয়া হলো:

  1. গণনা করা:

    SELECT abs(-50);  -- Output: 50
    
  2. স্ট্রিং রূপান্তর:

    SELECT upper('hello world');  -- Output: HELLO WORLD
    
  3. তারিখের সাথে অপারেশন:

    SELECT date_add('day', 5, current_date);  -- Output: 2024-12-02 (যদি আজকের তারিখ 2024-11-27 হয়)
    
  4. NULL মান ব্যবস্থাপনা:

    SELECT coalesce(NULL, 100, 200);  -- Output: 100
    

সারাংশ:

Presto তে Scalar Functions অত্যন্ত শক্তিশালী এবং ব্যবহারকারীকে একক মানের উপর অপারেশন করতে সাহায্য করে। গাণিতিক, স্ট্রিং, তারিখ/সময়, এবং লজিক্যাল বিভিন্ন অপারেশন সহ অন্যান্য অনেক ধরনের ফাংশন Presto তে উপলব্ধ রয়েছে। এগুলি ব্যবহার করে ডেটা প্রসেসিংকে আরও দক্ষ এবং কার্যকর করা যায়।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion
;